////https://www.luogu.com.cn/problem/P1434
//
//#include<iostream>
//#include<algorithm>
//using namespace std;
//int r, c;
//int x[110][110];
//int ret[110][110];
//
//int da[] = { 0,0,-1,1 };
//int db[] = { -1,1,0,0 };
//
//int dfs(int a, int b)
//{
//	if (ret[a][b]) return ret[a][b];
//	ret[a][b] = 1;
//	for (int i = 0; i < 4; i++)
//	{
//		int an = a + da[i], bn = b + db[i];
//		if (an < 1 || an > r || bn < 1 || bn > c) continue;
//		if (x[a][b] > x[an][bn]) ret[a][b] = max(ret[a][b], dfs(an, bn) + 1);
//	}
//	return ret[a][b];
//}
//
//int main()
//{
//	cin >> r >> c;
//	int t = 1;
//	int out = 0;
//	for (int i = 1; i <= r; i++)
//		for (int j = 1; j <= c; j++)
//			cin >> x[i][j];
//	for (int i = 1; i <= r; i++)
//		for (int j = 1; j <= c; j++)
//			out = max(out, dfs(i, j));
//	cout << out;
//	return 0;
//}